#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <map>
#include <climits>

using namespace std;


int main(){
    int n,m;
    cin >> n >> m;
    int v[n];
    for(int i=0;i<n;i++){
        cin >> v[i];
    }
    int mp[m];
    memset(mp,0,sizeof(mp));
    mp[0]=1; //首先加mp[j],第一个值如果整除，答案就错误了
    int64_t sum=0,ans=0;
    for(int i=0;i<n;i++){
        sum+=v[i];
        int j=sum%m;
        ans+=mp[j];
        mp[j]++;
    }
    cout << ans <<endl;

    return 0;
}